<?php

declare(strict_types=1);

namespace app\api\controller;

use app\BaseController;
use app\common\business\Sms as SmsBus;

/**
 * 短信业务
 * Class Sms
 * @package app\api\controller
 */
class Sms extends BaseController {

    /**
     * 发送验证码
     * @return object
     * @throws \ReflectionException
     */
    public function code(): object {
        $phoneNumber = input('param.phone_number', '', 'trim');

        $data = [
            'phone_number' => $phoneNumber,
        ];

        try {
            validate(\app\api\validate\User::class)->scene("send_code")->check($data);
        } catch (\think\exception\ValidateException $e) {
            return show(config("status.error"), $e->getError());
        }

        // TODO：1、再对接一个短信sdk , 2、我们需要做下流控  20%流量=》阿里云短信 ， 80%的流量是对接其他（百度云短信）
        $result = SmsBus::sendCode($phoneNumber, 6, "ali");
        if (!$result) {
            return show(config("status.error"), "发送验证码失败");
        }
        return show(config("status.success"), "发送验证码成功");
    }
}